22 research outputs found
Identifying Unmaintained Projects in GitHub
Background: Open source software has an increasing importance in modern
software development. However, there is also a growing concern on the
sustainability of such projects, which are usually managed by a small number of
developers, frequently working as volunteers. Aims: In this paper, we propose
an approach to identify GitHub projects that are not actively maintained. Our
goal is to alert users about the risks of using these projects and possibly
motivate other developers to assume the maintenance of the projects. Method: We
train machine learning models to identify unmaintained or sparsely maintained
projects, based on a set of features about project activity (commits, forks,
issues, etc). We empirically validate the model with the best performance with
the principal developers of 129 GitHub projects. Results: The proposed machine
learning approach has a precision of 80%, based on the feedback of real open
source developers; and a recall of 96%. We also show that our approach can be
used to assess the risks of projects becoming unmaintained. Conclusions: The
model proposed in this paper can be used by open source users and developers to
identify GitHub projects that are not actively maintained anymore.Comment: Accepted at 12th International Symposium on Empirical Software
Engineering and Measurement (ESEM), 10 pages, 201
Why We Engage in FLOSS: Answers from Core Developers
The maintenance and evolution of Free/Libre Open Source Software (FLOSS)
projects demand the constant attraction of core developers. In this paper, we
report the results of a survey with 52 developers, who recently became core
contributors of popular GitHub projects. We reveal their motivations to assume
a key role in FLOSS projects (e.g., improving the projects because they are
also using it), the project characteristics that most helped in their
engagement process (e.g., a friendly community), and the barriers faced by the
surveyed core developers (e.g., lack of time of the project leaders). We also
compare our results with related studies about others kinds of open source
contributors (casual, one-time, and newcomers).Comment: Accepted at CHASE 2018: 11th International Workshop on Cooperative
and Human Aspects of Software Engineering (8 pages
Otimizando recursos no processo de inspeção de software: uma abordagem utilizando simulação com dinâmica de sistemas
Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possÃvel de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas fases iniciais do processo de desenvolvimento, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefÃcio de inspeções pode se tornar bastante significativo, caso as inspeções sejam realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção por falta de dados e estudos sobre os reais benefÃcios que ela pode gerar. Este artigo apresenta um modelo de dinâmica de sistemas, para apoiar decisões sobre esse ponto de vista.
As variáveis que fazem parte do modelo são quantificadas com base em experimentos reais ou empÃricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar no mundo real, sendo possÃvel antever os impactos que a inspeção pode trazer no processo de desenvolvimento.Sociedad Argentina de Informática e Investigación Operativa (SADIO
Otimizando recursos no processo de inspeção de software: uma abordagem utilizando simulação com dinâmica de sistemas
Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possÃvel de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas fases iniciais do processo de desenvolvimento, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefÃcio de inspeções pode se tornar bastante significativo, caso as inspeções sejam realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção por falta de dados e estudos sobre os reais benefÃcios que ela pode gerar. Este artigo apresenta um modelo de dinâmica de sistemas, para apoiar decisões sobre esse ponto de vista.
As variáveis que fazem parte do modelo são quantificadas com base em experimentos reais ou empÃricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar no mundo real, sendo possÃvel antever os impactos que a inspeção pode trazer no processo de desenvolvimento.Sociedad Argentina de Informática e Investigación Operativa (SADIO
Beyond Textual Issues: Understanding the Usage and Impact of GitHub Reactions
Recently, GitHub introduced a new social feature, named reactions, which are
"pictorial characters" similar to emoji symbols widely used nowadays in
text-based communications. Particularly, GitHub users can use a pre-defined set
of such symbols to react to issues and pull requests. However, little is known
about the real usage and impact of GitHub reactions. In this paper, we analyze
the reactions provided by developers to more than 2.5 million issues and 9.7
million issue comments, in order to answer an extensive list of nine research
questions about the usage and adoption of reactions. We show that reactions are
being increasingly used by open source developers. Moreover, we also found that
issues with reactions usually take more time to be handled and have longer
discussions.Comment: 10 page
System dynamics model for decision support on the software inspection process
Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possÃvel de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas primeiras fases do processo, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefÃcio de inspeções pode se tornar bastante significativo, se as inspeções forem realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção com dúvida dos reais benefÃcios que ela pode gerar. O objetivo desse trabalho é criar um modelo de dinâmica de sistemas, que é uma técnica descritiva utilizada para modelagem e simulação de sistemas, envolvendo variáveis que influenciam fortemente na eficiência da inspeção. Os nÃveis de influência das variáveis que fazem parte do modelo são quantificados com base em experimentos reais ou empÃricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar na realidade, sendo possÃvel analisar os impactos que a inspeção pode trazer no processo de desenvolvimento.Repairing a defect in late phases of software development can be a hundred times more expensive than finding and fixing it during the requirements and design phase. Software inspection is a technique that may be used to aid in the identification of defects during early stages of the process and avoid propagation of such defects to the next phases. The cost-benefit of inspections may be significant if they are efficiently performed. Since this process is affected by several quality factors, the analysis of the overall context of inspection may become complex. Project managers are reluctant in introducing inspection due to uncertainty regarding its real benefits. This paper presents a system dynamics model, which is a descriptive technique for systems modeling and simulation and involves several variables that strongly influence inspection efficiency. The influence levels of model variables are quantified with basis on real or empirical experiments reported in literature, in order to approximate model results to values that would be obtained in the real world. The model allows the reproduction of scenarios without having the costs and facing the risk of a real project implementation. Therefore, it enables the analysis of the impacts of inspections on the software development process.Coordenação de Aperfeiçoamento de Pessoal de NÃvel Superio
Identifying and characterizing unmaintained projects in GitHub
Submitted by Jailton Coelho ([email protected]) on 2019-10-09T13:29:43Z
No. of bitstreams: 1
Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5)Approved for entry into archive by Eliane Araujo ([email protected]) on 2019-10-10T18:15:03Z (GMT) No. of bitstreams: 1
Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5)Made available in DSpace on 2019-11-22T18:18:10Z (GMT). No. of bitstreams: 1
Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5)
Previous issue date: 2019-08-30CAPES - Coordenação de Aperfeiçoamento de Pessoal de NÃvel SuperiorOpen source projects are key components of modern software development. Due to the appearance of novel platforms (e.g., GitHub and GitLab) for developing public code, developers has created thousands of open source projects. As a consequence, a significant number of open source projects is also unmaintained. To tackle this problem, in this thesis, we reported a set of quantitative and qualitative studies to help developers to maintain their open source projects. First, we surveyed the owners of open source projects that are no longer actively maintained, aiming to reveal the reasons for stop the maintenance of their projects. As result, we provide a set of nine reasons that motivated them to abandon their projects. Second, we conducted a survey with developers who recently became core contributors of popular GitHub projects. We reveal their motivations to contribute to these projects, the projects characteristics that mostly helped to contribute, and the barriers faced by them. Our key results show that the surveyed developers contributed to the projects because they are using them and need some improvements. The participants also answered that the lack of time of the project leaders was the principal barrier faced by them. Finally, the project characteristic which mostly helped them to contribute was the existence of a friendly community. Finally, in our third study, we propose a quantitative and datadriven model to identify GitHub projects that are not actively maintained. We train the model using a set of 13 features about project activity (e.g., commits, forks, and issues). The model achieved a precision of 80%, based on the feedback of 129 real open source developers and a recall of 96%. We also showed that the model can be used to identify unmaintained projects early, without having to wait for one year of inactivity, as commonly proposed in the literature. Finally, we defined a metric, called Level of Maintenance Activity (LMA), to assess the risks of projects become unmaintained. We provided evidence on the applicability of this metric, by investigating its usage in 2,927 active projects